Dynamische Datendeklaration

Ab Version 4.6D ist es möglich, Datenvariablen im Programm dynamisch zu erzeugen. Der neue Befehl CREATE DATA hilft weiter.

DATA: dref TYPE REF TO data,
      tabname(30) VALUE ‘T005T’.
FIELD-SYMBOLS: <f> TYPE ANY, <c>.


START-OF-SELECTION.
*** Dynamische Struktur erzeugen ***
  CREATE DATA dref TYPE (tabname).

*** Zuweisung zum Feldsymbol
  ASSIGN dref->* TO <f>.

*** Dynamischer SELECT ***
  SELECT * FROM (tabname) INTO <f>.

*** Ausgabe der Struktur ***
    WRITE: / ‘|’.
    DO.
      ASSIGN COMPONENT sy-index OF STRUCTURE <f> TO <c>.
      IF sy-subrc > 0.
        EXIT.
      ELSE.
        WRITE: <c>, ‘|’.
      ENDIF.
    ENDDO.

  ENDSELECT.

  ULINE.

Enno Wulff

Leave a Comment